/*
 * sessao.java
 *
 * Created on 18 de Novembro de 2007, 11:16
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package classes;

import bd.Database;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import javax.swing.JOptionPane;

/**
 *
 * @author kurumin
 */
public class sessao
{
    private String horario;
    private String data;
    private String valor;
    private String id_sala;
    private String id_filme;
    private String id;
    private Database bd;
    /** Creates a new instance of sessao */
    public sessao(Database meuBanco)
    {
        this.bd = meuBanco;
    }
    
    public void sethorario(String horario)
    {
        this.horario = horario;    
    }
    
    public String gethorario()
    {
        return horario;
    }
    
    public void setdata(String data)
    {
        this.data = data;
    }
    
    public String getdata()
    {
        return data;
    }
    
    public void setvalor(String valor)
    {
        this.valor = valor;
    }
    
    public String getvalor()
    {
        return valor;
    }
    
    public void setidsala(String id_sala)
    {
        this.id_sala = id_sala;
    }
    
    public String getidsala()
    {
        return id_sala;
    }
    
    public void setidfilme(String id_filme)
    {
        this.id_filme = id_filme;
    }
    
    public String getidfilme()
    {
        return id_filme;
    }
    
    public void setid(String id)
    {
        this.id = id;
    }
    
    public boolean verifica()
    {
        Date datas = new Date();
        datas.parse(data);
        String sql = "SELECT * FROM sessao WHERE (sessao.id_sala = "+id_sala+" AND sessao.data = '"+datas+"' AND sessao.horario = '"+horario+"')";
        ResultSet rs = bd.executeQueryRs(sql);
        int cont = 0;
        if(bd.Error){
            JOptionPane.showMessageDialog(null,bd.ErrorMessage);
            return false;
        }
        try
        {
            cont=0;
            while(rs.next()){
                cont++;
            }
        } catch (SQLException e)
        {
            e.printStackTrace();
        }
        if(cont == 0)
           return true;
        else
           return false;
    }
    
    public boolean gravar()
    {
        Date datas = new Date();
        datas.parse(this.data);
        String sql = "insert into sessao(horario,data,valor,id_sala,id_filme) values('"+horario+"','"
        +datas+"','"+valor+"',"+id_sala+","+id_filme+")";
        bd.executeCommand(sql,false);
        if(bd.Error)
        {
           JOptionPane.showMessageDialog(null,bd.ErrorMessage);     
           return false;
        }
        return(true);
    }
    
    public boolean atualizar()
    {
        Date datas = new Date();;
        datas.parse(data);
        String sql = "update sessao set horario = '"+horario+"',data = '"+datas+"',valor = '"+valor+"',"
                +"id_sala = '"+id_sala+"',id_filme = '"+id_filme+"' WHERE (id_sessao ="+id+")";
        bd.executeCommand(sql,false);
        if(bd.Error)
        {
           JOptionPane.showMessageDialog(null,bd.ErrorMessage);
            return(false);
        }
        return(true);   
    }
    
    public void obter()
    {
        String sql= "SELECT  sessao.id_sessao,to_char(sessao.data,'dd/MM/yyyy')as data,"
                +"to_char(sessao.horario,'hh:mm:ss')as horario,sessao.valor,sessao.id_filme,sessao.id_sala FROM sessao WHERE (id_sessao = "+id+")";
        
        ResultSet rs = bd.executeQueryRs(sql);
        if(bd.Error){
               JOptionPane.showMessageDialog(null,bd.ErrorMessage);
                return;
        }
        try
        {
            rs.next();
            horario = rs.getString("horario");
            data = rs.getString("data");
            valor = rs.getString("valor");
            id_sala = rs.getString("id_sala");
            id_filme = rs.getString("id_filme");
        } catch (SQLException e)
        {
            e.printStackTrace();
        }
    }
    
    public boolean deleta(){
        String sql ="delete FROM sessao WHERE (id_sessao = "+id+")";
        bd.executeCommand(sql,false);
        if(bd.Error)
        {
           JOptionPane.showMessageDialog(null,bd.ErrorMessage);
           return(false);
        }
        return(true); 
    }
}   
